/*
 * Copyright � 2008 Nokia Corporation.
 */

#ifndef __SUDOKUAPPUI_h__
#define __SUDOKUAPPUI_h__

// INCLUDES
#include <aknappui.h>
#include <aknutils.h>

// FORWARD DECLARATIONS
class CSudokuContainerControl;
class CGraphicEngine;
class CSudokuGameOverDialog;

// CLASS DECLARATION
class CSudokuAppUi : public CAknAppUi
    {
    public:
        void ConstructL ( );
        CSudokuAppUi ( );
        virtual ~CSudokuAppUi ( );
        
    public:
        inline CGraphicEngine* GraphicEngine(){return iGraphicEngine;};
        void HandleCommandL (TInt aCommand );
        void HandleResourceChangeL( TInt aType );        
        TBool CbaVisible(TInt aCommandId);
        TBool IsOptionsButtonOnTop();
        void UseOptionsExitCbaL();
        void UseSelectBackCbaL();
        void ShowGameOverL();
        inline CSudokuContainerControl* View(){return iAppView;};
        
    private:
        void SearchCbaPosition();
        void SearchOptionsButtonPosition();
        
    public:
        TBool                           iOptionButtonOnTop;
        AknLayoutUtils::TAknCbaLocation iCbaPosition;
        
    private:
        CSudokuContainerControl*        iAppView;
        CGraphicEngine*                 iGraphicEngine;
        CSudokuGameOverDialog*          iGameOverDlg;

        
    };

#endif // __SUDOKUAPPUI_h__

// End of File
